# -*- coding: utf-8 -*-
#  属性面板
# @Time    ： 2022/1/18  23:20
# @Auther  ： 徐良
# File     :  tableViewArr.py
from PyQt5.QtWidgets import QTableView
from PyQt5.QtWidgets import QWidget, QAbstractItemView


class TableViewArr(QTableView):

    def __init__(self, parent=None):
        super(TableViewArr, self).__init__(parent)

        # 设置表头不可被点击
        self.horizontalHeader().setSectionsClickable(False)
        self.verticalHeader().setSectionsClickable(False)

        # 设置单选行
        self.setSelectionMode(QAbstractItemView.SingleSelection)  # 设置只能选1行
        self.setSelectionBehavior(QAbstractItemView.SelectRows)
        # 设置表头的字体
        font = self.horizontalHeader().font()  # 获取当前表头的字体
        font.setFamily("微软雅黑")  # 修改字体设置
        self.horizontalHeader().setFont(font)  # 重新设置表头的字体

        # 设置表头背景色
        self.horizontalHeader().setStyleSheet("QHeaderView::section{background:#d9d6c3;}")

        # 设置表头高度
        self.horizontalHeader().setFixedHeight(40)

        # 设置最后列填满窗口
        self.setColumnWidth(0, 250)
        self.horizontalHeader().setStretchLastSection(True)


    # 设置tableView的隐藏列
    def setHideColumnForColumnName(self, list):
        for fn in list:
            col = self.model().record().indexOf(fn)
            if col != None:
                self.setColumnHidden(col, True)

    def setHideColumnForCol(self, slist):
        for col in list:
            self.setColumnHidden(int(col), True)